package com.ts.api.module.distribute.dao;

import com.ts.api.module.distribute.entity.DistributeGroupUv;
import com.ts.api.module.distribute.entity.DistributeUv;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 智能分配，子链接UVDao接口
 *
 * @author ts
 * @date 2023-09-13
 */
@Mapper
public interface DistributeUvDao {

    /**
     * 统计指定组，IP三个要素查询
     *
     * @param  groupId
     * @param  ip
     * @return int
     */
    int countGroupUvByGroupIdAndIp(@Param("groupId") Long groupId, @Param("ip") String ip);

    /**
     * 统计指定组，子链接，IP三个要素查询
     *
     * @param  groupId
     * @param  linkId
     * @param  ip
     * @return int
     */
    int countLinkUvByGroupIdAndLinkAndIp(@Param("groupId") Long groupId, @Param("linkId") Long linkId, @Param("ip") String ip);

    /**
     * 新增智能分配，链接组UV
     *
     * @param distributeGroupUv 链接组对象
     * @return int
     */
    int insertGroupUv(DistributeGroupUv distributeGroupUv);

    /**
     * 新增智能分配，子链接UV
     *
     * @param distributeUv 子链接对象
     * @return int
     */
     int insertLinkUv(DistributeUv distributeUv);
}
